/*
 * 快速幂
 */

#include <stdio.h>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;

/*
 * 求a的e次方模mod的值
 */
template<typename T>
T power_mod(T a, T e, T mod){
	T p = 1;
	while(e){
		if(e & 1){
			p = (p * a) % mod;
		}
		a = (a * a) % mod;
		e >>= 1;
	}
	return p;
}

int main(int argc, char* argv[])
{
	cout << power_mod(2L, 30L, 1000000007L) <<endl;
	// cout << power_mod(2L, 20L, 1000L) <<endl;
    return 0;
}
